Nachdiplomkurs Java - Java Certification Sommer Semester, Grafik Programmierung mit Swing |
||
---|---|---|
© , Alle Rechte vorbehalten, Josef M. Joller |
Zielpublikum | Software-Entwickler |
Vorkenntnisse | Java Grundlagen |
Kursbeginn | Dienstag und Donnerstag |
Kursdauer | 1 Abend |
Zeiten | Jeweils Dienstag und Donnerstag,17.30 bis 21.45 Uhr |
KURSZIELE Sie können Java Swing praktisch einsetzen und kennen die grundlegenden Einsatz Muster (Patterns) KURSUNTERLAGEN Skript (PDF) Beispiele (ZIP) Für Grafik-Programmierung mit SWT in Eclipse: siehe Tools, Eclipse KURSINHALTE SWING - EINFÜHRENDES BEISPIEL 2 1.1. SWING - EINFÜHRUNG 2 1.2. JAVA FOUNDATION CLASSES UND JAVA SWING 2 1.2.1. JFC und Swing 2 1.2.2. Swing API Varianten 3 1.2.3. Welche Swing Variante sollte ich einsetzen? 3 1.2.4. Inwiefern unterscheiden sich Swing Komponenten von AWT ? 3 1.3. EIN EINFACHES SWING BEISPIEL 6 1.3.1. Importieren der Swing Pakete 6 1.3.2. Setzen des Look & Feel 7 1.3.3. Definition eines Containers, in den die andern grafischen Komponenten eingefügt werden 7 1.3.4. Definition des Knopfs und des Textes 8 1.3.5. Hinzufügen der Komponenten zum Container bzw. Containers 8 1.3.6. Hinzufügen von Umrandungen (Borders) um die Komponenten 9 1.3.7. Programmierung der Ereignissteuerung 9 1.3.8. Allfällige Behandlung von Threading Fragen 10 1.3.9. Unterstützung von Assistenten-Technologien 10 1.4. VOLLSTÄNDIGES BEISPIELPROGRAMM 11 1.5. AUFGABEN 12 EREIGNISSE 13 2.1. DAS EREIGNISMODELL 1.1 13 2.2. ANWENDUNG DER EREIGNISSTEUERUNG 14 2.2.1. Weitere Ereignistypen 16 2.3. AWT EREIGNISSE 19 2.3.1. ActionEvent 20 2.3.2. AdjustmentEvent 20 2.3.3. ComponentEvent 21 2.3.4. ContainerEvent 21 2.3.5. FocusEvent 22 2.3.6. InputEvent 22 2.3.7. ItemEvent 23 2.3.8. KeyEvent 23 2.3.9. MouseEvent 24 2.3.10. PaintEvent 26 2.3.11. TextEvent 26 2.3.12. WindowEvent 26 2.4. SWING EREIGNISSE 27 2.4.1. AncestorEvent 28 2.4.2. CaretEvent 28 2.4.3. ChangeEvent 28 2.4.4. DocumentEvent 29 2.4.5. HyperlinkEvent 29 2.4.6. InternalFrameEvent 30 2.4.7. ListDataEvent 30 2.4.8. ListSelectionEvent 31 2.4.9. MenuEvent 31 2.4.10. PopupMenuEvent 31 2.4.11. TableColumnModelEvent 31 22.1.12. TableModelEvent 32 2.4.12. TreeExpansionEvent 32 2.4.13. TreeModelEvent 33 2.4.14. UndoableEditEvent 33 2.5. AUFGABEN 35 2.5.1. AWT Ereignisse 35 LAYOUT MANAGEMENT 36 3.1. LAYOUTMANAGER 37 3.2. LAYOUTMANAGER2 37 3.3. FLOWLAYOUT 38 3.4. BORDERLAYOUT 40 3.5. GIDLAYOUT 41 3.6. GRIDBAGLAYOUT 42 3.7. CARDLAYOUT 45 3.8. BOXLAYOUT 48 3.9. SCROLLPANELAYOUT 50 3.10. ABSOLUTE POSITIONIERUNG 54 BASISKOMPONENTEN 56 4.1. JCOMPONENT 56 4.2. JPANEL 59 4.3. IMAGEICON 61 4.4. JLABEL 63 4.5. JTOOLTIP 66 RAHMEN 67 5.1. ABSTRACTBORDER 67 5.2. BEVELBORDER 67 5.3. SOFTBEVELBORDER 67 5.4. COMPOUNDBORDER 67 5.5. EMPTYBORDER 68 5.6. ETCHEDBORDER 68 5.7. LINEBORDER 68 5.8. MATTEBORDER 68 5.9. TITLEBORDER 68 5.10. BORDERFACTORY 68 BUTTONS 72 6.1. ABSTRACTBUTTON 73 6.2. JBUTTON 74 6.3. JCHECKBOX 77 6.4. JRADIOBUTTON & BUTTONGROUP 79 6.5. JTOGGLEBUTTONS 81 MENÜS 84 7.1. PULLDOWNMENÜ 85 7.2. JMENUBAR 85 7.3. JMENU 85 7.4. JMENUITEM 86 7.5. JCHECKBOXITEM 86 7.6. JRADIOBUTTONMENUITEM 86 7.7. JSEPARATOR 86 7.8. KONTEXTMENÜ (JPOPUPMENU) 90 7.9. WERKZEUGLEISTEN (JTOOLBAR) 93 AUSWAHLMÖGLICHKEITEN 95 8.1. JCOMBOBOX 95 8.2. JLIST 97 ANALOGE KOMPONENTEN 100 9.1. JSCROLLBAR 100 9.2. JSLIDER 101 9.3. JPROGRESSBAR 105 FENSTER UND DIALOGE 108 10.1. ROOTPANE (JROOTPANE 109 10.1.1. GlassPane 110 10.1.2. LayeredPane (JLayeredPane) 110 10.1.3. ContentPane 111 10.1.4. Optionale Menüleiste (JMenuBar) 111 10.2. JFRAME 111 10.3. INTERNAL FRAME (JINTERNALFRAME & JDESKTOPPANE) 113 10.4. JDIALOG 118 10.5. JOPTIONPANE 120 10.5.1. Meldungsarten 121 10.5.2. Optionswerte 121 10.5.3. Sonstige Übergabeparameter 122 10.5.4. Rückgabeparameter 122 10.6. SPEZIALDIALOGE 127 10.6.1. JFileChooser 127 TEXTKOMPONENTEN 135 11.1. JTEXTCOMPONET 136 11.2. JTEXTFIELD 137 11.3. JPASSWORDFIELD 139 11.4. JTEXTAREA 140 11.5. JTEXTPANE 142 REGISTERKARTEN UND WINDOW SPLITTING 144 12.1. JTABBEDPANE 145 12.2. JSPLITPANE 147 MODEL- VIEW- CONTROLLER 150 13.1. SWING UND MVC 151 13.2. JTREE 154 13.2.1. TreeNode 154 13.2.2. MutableTreeNode 154 13.2.3. DefaultMutableTreeNode 154 13.2.4. TreeModel 155 13.2.5. TreeSelectionModel 156 13.2.6. TreeCellRender 157 13.3. DRUCKEN 159 13.1.1. Drucken einer Swing Komponente 159 13.3.1. Drucken mehrerer Seiten 161 13.4. LOOK & FEEL 162 13.5. ÄNDERN VON LOOK & FEEL 163 13.5.1. Selbstdefinierte Themen unter Metal Look & Feel 165 13.6. DAS EIGENE LOOK & FEEL 170 13.6.1. Ändern des Look & Feel 170 13.6.2. Die Klasse ButtonUI 171 13.6.3. Die eigene Listener Klasse 174 13.6.4. Die eigene Border Klasse 175 13.6.5. Das Beispielprogramm 176 13.7. JLIST & JCOMBOBOX 178 13.7.1. ListModel 178 13.7.2. ListSelectionModel 182 TABELLEN 183 14.1. ERZEUGUNG EINER EINFACHEN TABELLE 183 14.2. DATENMODELL / DATENSTRUKTUR EINER TABELLE 185 14.3. ÄNDERN DER SPALTENBREITEN 187 14.4. ZELLENEDITOREN UND RENDERER 188 14.4.1. Definition neuer Zellenrenderer 188 14.4.2. Definition neuer Zelleneditoren 189 DAS DOKUMENTENSYSTEM 191 15.1. IMPLEMENTIERUNG EINES DOKUMENTS 192 15.1.1. AbstractDocument 192 15.1.2. PlainDocument 192 15.1.3. DefaultStyledDocument 192 15.2. VERWENDUNG EINES DOKUMENTS 193 15.3. ÄNDERUNGEN IN DOKUMENTEN (DOCUMENTLISTENER) 194 15.4. TEXTAKTIONEN 194 15.5. TASTATURBEFEHLE 195 15.6. BEISPIEL : MULTIPAD 196 15.6.1. Menüs 197 15.6.2. MultipadFrame : Serialisieren 198 15.6.3. MultipadFrame : Einfügen von Bildern 199 15.6.4. Filter für den Datei Dialog 199 15.6.5. Umschalten des Look & Feel 200 15.7. ANHANG : LINKS UND QUELLEN 202